#ifndef IMAGEDATAPROVIDER_H
#define IMAGEDATAPROVIDER_H

#include "ImageMappingManager.h"
#include <QObject>

// 为其他控件提供标准化数据接口
class ImageDataProvider : public QObject
{
    Q_OBJECT

public:
    explicit ImageDataProvider(ImageMappingManager* mappingManager, QObject* parent = nullptr);

    // Halcon控件使用的数据接口
    QStringList getHalconImagePaths() const;
    QMap<QString, QList<int>> getHalconCoordinateMap() const; // 文件名 -> [治具行,治具列,FOV行,FOV列]

    // 其他控件使用的数据接口
    QMap<QString, QVariant> getImageDataForDisplay() const;
    // QList<QStringList> getCoordinateTableData() const;

    // 获取重命名后的图像文件夹
    QString getHalconImageFolder() const { return m_mappingManager->getTempFolder(); }

private:
    ImageMappingManager* m_mappingManager;
};

#endif // IMAGEDATAPROVIDER_H
